package top.malaoshi.data;

/**
 * 封装一列的列名、列类型
 * 不支持修改列类型，如果修改列类型，该列数据要做转换，可能报错
 * @author mym
 *
 */
public class DataColumn {
    /**
     * 列名
      */
    private String name;
    /**
     * 列类型
     */
    private Type type = Type.UNDEFINED;

    /**
     * 列类型
     */
    public enum Type{
//        BYTE,
//        SHORT,
        INT,
//        LONG,
//        FLOAT,
        DOUBLE,
        TEXT, // 字符串类型
        UNDEFINED, // 未定义
    }

    public DataColumn(String name){
        this.name = name;
    }

    /**
     * 传入列名、列类型（添加数据时可以校验数据）
     * @param name
     * @param type
     */
    public DataColumn(String name,Type type){
        this.name = name;
        this.type = type;
    }

    public String getName() {
        return name;
    }
    /**
     * 设置列名
      */
    public DataColumn setName(String name) {
        this.name = name;
        return this;
    }

    public Type getType() {
        return type;
    }


    @Override
    public String toString() {
        return "DataColumn{" +
                "name='" + name + '\'' +
                ", type=" + type +
                '}';
    }
}
